package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_index_dailybasic")
public class FIndexDailybasic {
    @Id
    private Long tid;

    /**
     * TS代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 交易日期
     */
    @Column(name = "trade_date")
    private String tradeDate;

    /**
     * 当日总市值（元）
     */
    @Column(name = "total_mv")
    private Float totalMv;

    /**
     * 当日流通市值（元）
     */
    @Column(name = "float_mv")
    private Float floatMv;

    /**
     * 当日总股本（股）
     */
    @Column(name = "total_share")
    private Float totalShare;

    /**
     * 当日流通股本（股）
     */
    @Column(name = "float_share")
    private Float floatShare;

    /**
     * 当日自由流通股本（股）
     */
    @Column(name = "free_share")
    private Float freeShare;

    /**
     * 换手率
     */
    @Column(name = "turnover_rate")
    private Float turnoverRate;

    /**
     * 换手率(基于自由流通股本)
     */
    @Column(name = "turnover_rate_f")
    private Float turnoverRateF;

    /**
     * 市盈率
     */
    private Float pe;

    /**
     * 市盈率TTM
     */
    @Column(name = "pe_ttm")
    private Float peTtm;

    /**
     * 市净率
     */
    private Float pb;

    public FIndexDailybasic(Long tid, String tsCode, String tradeDate, Float totalMv, Float floatMv, Float totalShare, Float floatShare, Float freeShare, Float turnoverRate, Float turnoverRateF, Float pe, Float peTtm, Float pb) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.tradeDate = tradeDate;
        this.totalMv = totalMv;
        this.floatMv = floatMv;
        this.totalShare = totalShare;
        this.floatShare = floatShare;
        this.freeShare = freeShare;
        this.turnoverRate = turnoverRate;
        this.turnoverRateF = turnoverRateF;
        this.pe = pe;
        this.peTtm = peTtm;
        this.pb = pb;
    }

    public FIndexDailybasic() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS代码
     *
     * @return ts_code - TS代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS代码
     *
     * @param tsCode TS代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取交易日期
     *
     * @return trade_date - 交易日期
     */
    public String getTradeDate() {
        return tradeDate;
    }

    /**
     * 设置交易日期
     *
     * @param tradeDate 交易日期
     */
    public void setTradeDate(String tradeDate) {
        this.tradeDate = tradeDate;
    }

    /**
     * 获取当日总市值（元）
     *
     * @return total_mv - 当日总市值（元）
     */
    public Float getTotalMv() {
        return totalMv;
    }

    /**
     * 设置当日总市值（元）
     *
     * @param totalMv 当日总市值（元）
     */
    public void setTotalMv(Float totalMv) {
        this.totalMv = totalMv;
    }

    /**
     * 获取当日流通市值（元）
     *
     * @return float_mv - 当日流通市值（元）
     */
    public Float getFloatMv() {
        return floatMv;
    }

    /**
     * 设置当日流通市值（元）
     *
     * @param floatMv 当日流通市值（元）
     */
    public void setFloatMv(Float floatMv) {
        this.floatMv = floatMv;
    }

    /**
     * 获取当日总股本（股）
     *
     * @return total_share - 当日总股本（股）
     */
    public Float getTotalShare() {
        return totalShare;
    }

    /**
     * 设置当日总股本（股）
     *
     * @param totalShare 当日总股本（股）
     */
    public void setTotalShare(Float totalShare) {
        this.totalShare = totalShare;
    }

    /**
     * 获取当日流通股本（股）
     *
     * @return float_share - 当日流通股本（股）
     */
    public Float getFloatShare() {
        return floatShare;
    }

    /**
     * 设置当日流通股本（股）
     *
     * @param floatShare 当日流通股本（股）
     */
    public void setFloatShare(Float floatShare) {
        this.floatShare = floatShare;
    }

    /**
     * 获取当日自由流通股本（股）
     *
     * @return free_share - 当日自由流通股本（股）
     */
    public Float getFreeShare() {
        return freeShare;
    }

    /**
     * 设置当日自由流通股本（股）
     *
     * @param freeShare 当日自由流通股本（股）
     */
    public void setFreeShare(Float freeShare) {
        this.freeShare = freeShare;
    }

    /**
     * 获取换手率
     *
     * @return turnover_rate - 换手率
     */
    public Float getTurnoverRate() {
        return turnoverRate;
    }

    /**
     * 设置换手率
     *
     * @param turnoverRate 换手率
     */
    public void setTurnoverRate(Float turnoverRate) {
        this.turnoverRate = turnoverRate;
    }

    /**
     * 获取换手率(基于自由流通股本)
     *
     * @return turnover_rate_f - 换手率(基于自由流通股本)
     */
    public Float getTurnoverRateF() {
        return turnoverRateF;
    }

    /**
     * 设置换手率(基于自由流通股本)
     *
     * @param turnoverRateF 换手率(基于自由流通股本)
     */
    public void setTurnoverRateF(Float turnoverRateF) {
        this.turnoverRateF = turnoverRateF;
    }

    /**
     * 获取市盈率
     *
     * @return pe - 市盈率
     */
    public Float getPe() {
        return pe;
    }

    /**
     * 设置市盈率
     *
     * @param pe 市盈率
     */
    public void setPe(Float pe) {
        this.pe = pe;
    }

    /**
     * 获取市盈率TTM
     *
     * @return pe_ttm - 市盈率TTM
     */
    public Float getPeTtm() {
        return peTtm;
    }

    /**
     * 设置市盈率TTM
     *
     * @param peTtm 市盈率TTM
     */
    public void setPeTtm(Float peTtm) {
        this.peTtm = peTtm;
    }

    /**
     * 获取市净率
     *
     * @return pb - 市净率
     */
    public Float getPb() {
        return pb;
    }

    /**
     * 设置市净率
     *
     * @param pb 市净率
     */
    public void setPb(Float pb) {
        this.pb = pb;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", tradeDate=").append(tradeDate);
        sb.append(", totalMv=").append(totalMv);
        sb.append(", floatMv=").append(floatMv);
        sb.append(", totalShare=").append(totalShare);
        sb.append(", floatShare=").append(floatShare);
        sb.append(", freeShare=").append(freeShare);
        sb.append(", turnoverRate=").append(turnoverRate);
        sb.append(", turnoverRateF=").append(turnoverRateF);
        sb.append(", pe=").append(pe);
        sb.append(", peTtm=").append(peTtm);
        sb.append(", pb=").append(pb);
        sb.append("]");
        return sb.toString();
    }
}